package org.dearsor.elective.service;

import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.dearsor.elective.exception.CreditOverflowExeption;
import org.dearsor.elective.model.Course;
import org.dearsor.elective.model.Person;
import org.dearsor.elective.repository.GenericRepository;
import org.springframework.dao.DataAccessException;
import org.springframework.transaction.annotation.Transactional;

public interface CourseMgr extends GenericRepository<Course> {

	

	public abstract void doSelect(long courseId, Person user)
			throws DataAccessException, CreditOverflowExeption;

	public abstract void doUnselect(long courseId, Person user)
			throws DataAccessException;

	public abstract List<Course> listCourses() throws DataAccessException;

	public abstract List<Course> listAvailableCourses(Person person)
			throws DataAccessException;

}